﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<ctype.h>
#include<assert.h>

//struct S
//{
//	char name[20];
//	int age;
//	float score;
//};
//int main()
//{
//	char buf[200] = { 0 };
//	struct S s = { "张三",20,65.5f };
//	sprintf(buf, "%d %s %f", s.name, s.age, s.score);
//
//	printf("%s\n", buf);
//	struct S t = { 0 };
//	sscanf(buf, "%s %s %f", t.name, t.age, t.score);
//	printf("2按照格式打印： %s %d %f\n", t.name, t.age, t.score);
//	return 0;
//}


//scanf    从标准输入流上读取格式化的数据
//fscanf   从指定输入流上读取格式化的数据
//sscanf   在字符串中读取格式化的数据


//printf   把数据以格式化的形式打印在标准输出流上
//fprintf  把数据以格式化的形式打印在指定的输出流上
//sprintf  把格式化的数据转化成字符串


//int main()
//{
//	int arr[] = { 1,2,3,4,5 };
//	FILE* pf = fopen("text.txt", 'wb');
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//写数据
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	fwrite(arr, sizeof(arr[0]), sz, pf);//以二进制写进去
//
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}



//int main()
//{
//	int arr[5] = {0};
//	FILE* pf = fopen("text.txt", 'wb');
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//读数据
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	fread(arr, sizeof(arr[0]), 5, pf);//以二进制读取
//	for (int i = 0; i < 5; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}



//int main()
//{
//	int arr[5] = { 0 };
//	FILE* pf = fopen("text.txt", 'wb');
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//读数据 以二进制读取
//	int i = 0;
//	while (read(&arr[i], sizeof(int), 1, pf))
//	{
//		printf("%d ", arr[i]);
//		i++;
//	}
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}


//⽂件的随机读写
// fseek
//int fseek(FILE* stream, long int offset, int origin);

//int main()
//{
//	FILE* pFile;
//	pFile = fopen("example.txt", "wb");
//	fputs("This is an apple.", pFile);
//	fseek(pFile, 9, SEEK_SET);
//	fputs(" sam", pFile);
//	fclose(pFile);
//	return 0;
//}

//SEEK_SET  文件的起始位置
//SEEK_CUR  文件指针当前位置
//SEEK_END  文件末尾

//ftell
//返回⽂件指针相对于起始位置的偏移量
//int main()
//{
//	FILE* pFile;
//	long size;
//	pFile = fopen("myfile.txt", "rb");
//	if (pFile == NULL)
//		perror("Error opening file");
//	else
//	{
//		fseek(pFile, 0, SEEK_END); // non-portable
//		size = ftell(pFile);
//		fclose(pFile);
//		printf("Size of myfile.txt: %ld bytes.\n", size);
//	}
//	return 0;
//}


//rewind
//让⽂件指针的位置回到⽂件的起始位置
//void rewind ( FILE * stream );
int main()
{
	int n;
	FILE* pFile;
	char buffer[27];

	pFile = fopen("myfile.txt", "w+");
	for (n = 'A'; n <= 'Z'; n++)
		fputc(n, pFile);
	rewind(pFile);

	fread(buffer, 1, 26, pFile);
	fclose(pFile);

	buffer[26] = '\0';
	printf(buffer);
	return 0;
}









































